package com.fjec.paid.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 003.订单微信支付表
 * </p>
 *
 * @author admin
 * @since 2020-11-09
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("biz_wechat_payment")
public class BizWechatPayment implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键Id
     */
    @TableId("Id")
    private Long id;

    /**
     * 实物支付Id
     */
    @TableField("PaymentId")
    private Long paymentId;

    /**
     * 操作类型 1=统一下单
2=支付结果通知
3=申请退款
4=退款结果通知
     */
    @TableField("OptType")
    private Integer optType;

    /**
     * 小程序或公众号Id
     */
    @TableField("AppId")
    private String appId;

    /**
     * 商户号
     */
    @TableField("MchId")
    private String mchId;

    /**
     * 交易类型 微信定义的交易类型，例如：
JSAPI=JSAPI支付
详情参看：微信支付开发文档
     */
    @TableField("TradeType")
    private String tradeType;

    /**
     * 业务结果 1=成功
2=失败
     */
    @TableField("BuisResult")
    private Integer buisResult;

    /**
     * 错误代码
     */
    @TableField("ErrCode")
    private String errCode;

    /**
     * 错误代码描述
     */
    @TableField("ErrCodeDesc")
    private String errCodeDesc;

    /**
     * 业务标识 操作类型=1，预支付交易会话标识（prepay_id）
操作类型=2，微信支付订单号（transaction_id）
操作类型=3，微信退款单号（refund_id）
操作类型=4，退款子订单Id
     */
    @TableField("BuisSignal")
    private String buisSignal;

    /**
     * 金额 单位分
操作类型=1，标价金额（total_fee）
操作类型=2，现金支付金额（cash_fee）
操作类型=3，退款金额（refund_fee）
操作类型=4，退款金额（settlement_refund_fee）
     */
    @TableField("Fee")
    private Integer fee;

    /**
     * 用户标识 用户在商户appid下的唯一标识
     */
    @TableField("OpenId")
    private String openId;

    /**
     * 微信返回结果
     */
    @TableField("WeChatResult")
    private String weChatResult;

    /**
     * 删除标记 0=否
1=是
     */
    @TableField("DelFlag")
    private Integer delFlag;

    /**
     * 创建时间
     */
    @TableField("CreateTime")
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @TableField("UpdateTime")
    private LocalDateTime updateTime;


}
